Пульт.Онлайн /

Создание мнемосхем и экранов

Мнемосхема в Пульт.Онлайн — это графический интерфейс для визуализации данных и управления узлами системы. Она позволяет отображать значения переменных, состояние оборудования и предоставлять оператору средства управления.

Мнемосхемы в Пульт.Онлайн предоставляют гибкий инструмент для создания современных интерфейсов оператора любой сложности — от простых индикаторов до комплексных панелей управления с анимацией и интерактивными элементами.

Основные понятия

Узел — логическая единица системы, представляющая физическое устройство или группу устройств. Узел содержит набор переменных, которые получают данные от драйверов (Modbus, BACnet, OPC UA и др.) или являются виртуальными.

Переменная — элемент данных узла. Имеет глобальное имя (например, P1_N1_temp), проектное имя (N1_temp) и локальное имя (temp).

Контрол — графический элемент на мнемосхеме (надпись, кнопка, индикатор, график и т.д.), который можно привязать к переменным узла.

Создание мнемосхемы

  1. В Редакторе откройте раздел проекта Мнемосхемы.
  2. Добавьте мнемосхему.
  3. Задайте имя мнемосхемы и сохраните.

Определение узлов в параметрах мнемосхемы

Перед привязкой данных необходимо определить, какие узлы будут использоваться на мнемосхеме:

  1. Откройте созданную мнемосхему.
  2. Перейдите на вкладку Параметры.
  3. Добавьте параметр типа Узел. Например, укажите имя node1. Это создаст абстрактный узел для привязки.
  4. При необходимости добавьте несколько узлов (node1, node2 и т.д.), если мнемосхема должна отображать данные с нескольких устройств.
  5. При необходимости, добавьте другие строковые или числовые параметры, значения которых могут быть переданы контролам по именам параметров, как переменные ($room_number, $gb_color и т.п.)

Привязка переменных к контролам

  1. На вкладке Графика добавьте нужный контрол из библиотеки (например, «Надпись», «Поле ввода», «Лампа»).

  2. В свойствах контрола найдите поле для привязки данных. Обычно это value, text или src.

  3. Введите выражение для привязки к переменной узла:

     $node1.vars.имя_переменной
    

Например, $node1.vars.temperature — для отображения значения переменной temperature узла node1.

  1. Для вычислений используйте двойные фигурные скобки:

     {{ $node1.vars.temperature / 10 }}
    
  2. Используйте составные строки для комбинации текста и значений

    В поля контролов можно вписывать составные строки, включающие вставки имен переменных и выражений в фигурных скобках:

     Температура: {{ $node1.vars.temperature / 10 }} °C
    

    Контрол label с такой строкой в поле value отобразит вычисленный текст:

     Температура: 21.3 °C
    
  3. Используйте математические и логические выражения и функции для вычислений:

     {{ bit($node1.vars.status,7) }}
    

    Полный перечень функций смотрите в разделе Математические выражения

  4. Передавайте в контролы параметры мнемосхемы как переменные. Например, на мнемосхеме можно расположить надпись для номера помещения, передав в ее value параметр $room_number. Тогда, привязав мнемосхему к разным узлам через экраны, в каждом экране вы сможете задать собственный отображаемый номер помещения, заполнив свойство экрана room_number - после привязки мнемосхемы к экрану он получит набор свойств мнемосхемы.

Связывание мнемосхемы с реальными узлами проекта

После создания мнемосхемы её нужно связать с конкретными узлами проекта. Есть два основных способа:

Способ 1: Простая привязка (для одного узла)

Используется, когда мнемосхема отображает данные только одного узла:

  1. В прототипе узла найдите свойство Интерфейс.
  2. Укажите созданную мнемосхему вместо стандартного узла.
  3. Сохраните изменения и выполните сборку проекта.

Теперь при открытии узла в интерфейсе будет отображаться ваша мнемосхема.

Способ 2: Привязка через экран (для нескольких узлов)

Используется, когда мнемосхема должна отображать данные нескольких узлов или требуется сложная навигация. Экран связывает мнемосхему с одним или несколькими узлами и позволяет задать уникальные значения параметрам мнемосхемы.

  1. В разделе Экраны создайте новый экран.
  2. В свойствах экрана:
    • В разделе Мнемосхемы выберите созданную мнемосхему.
    • В разделе Узлы сопоставьте абстрактные узлы мнемосхемы (node1, node2 и т.д.) с реальными узлами проекта.
  3. Задайте остальные параметры мнемосхемы, если они были определены.
  4. Сохраните и выполните сборку проекта.

Теперь мнемосхема будет доступна через созданный экран в интерфейсе.

Дополнительные возможности

Использование мнемосхем в качестве контролов

Одна мнемосхема может использоваться как контрол на другой мнемосхеме. Это полезно для создания типовых элементов (например, насосный узел, станок), которые повторяются на общей схеме. Подробнее: Мнемосхема в качестве контрола.

Всплывающие окна (фейсплейты)

Для отображения дополнительной информации можно создавать всплывающие окна, которые открываются при клике на элементы мнемосхемы. В фейсплейте можно отображать:

  • Тренды переменных
  • Другие мнемосхемы
  • Служебные страницы системы

Подробнее: Всплывающие окна.

Подключение JavaScript-скриптов

К мнемосхеме можно подключить пользовательские JavaScript-скрипты для реализации сложной логики:

  1. Загрузите файл скрипта в ресурсы мнемосхемы.
  2. На вкладке Код добавьте в секцию <head> тег:
    <script src='%resources%/script.js'></script>
    
  3. В скрипте используйте функции oncreate() для инициализации и ondestroy() для очистки.

Подробнее: Подключение JS-скриптов к мнемосхеме.

Произвольный HTML

Для сложных интерфейсов можно использовать произвольные HTML-документы в качестве мнемосхем. Это позволяет применять любые веб-технологии и фреймворки. Подробнее: Произвольный HTML.

Практические советы

  1. Используйте параметры узлов в выражениях — кроме переменных, доступны параметры узла: $node1.params.host, $node1.params.port и т.д.

  2. Ссылайтесь на свойства переменных — можно получать не только значение, но и другие свойства:

    • $node1.vars.temperature.name — имя переменной
    • $node1.vars.temperature.time — время последнего обновления
    • $node1.vars.temperature.error — код ошибки
  3. Выполняйте сборку после изменений — любые изменения в мнемосхемах, прототипах или узлах требуют сборки проекта для применения в интерфейсе.

  4. Тестируйте в интерфейсе — после сборки перейдите в интерфейс и откройте узел или экран для проверки работы мнемосхемы.

Примеры на демо-сервере

На демонстрационном сервере WebSCADA.ru доступны готовые примеры мнемосхем:

Дополнительные ресурсы

  Email
   fdb_list
   fdb_load
   fdb_move
   fdb_paths
   node_list
   subscribe
   user_list
   user_save
   var_get
   var_list
   var_set